package com.yy.main.app.service;

import com.yy.pojo.base.TPermission;

import java.util.List;

/**
 * <p>
 * 系统菜单表服务类
 * </p>
 *
 * @author 杨阳
 * @since 2017-08-22
 */
public interface IPermissionService {
    /**
     * 获得用户所拥有的权限
     *
     * @param userid 用户id
     * @return List<Permission>
     */
    List<TPermission> getUserPermissions(String userid);

    /**
     * <p>
     * 获得用户所拥有权限的认证码
     * </p>
     *
     * @param userid 用户id
     * @return {@link List}<java.lang.String>
     */
    List<String> getUserPerAuthentication(String userid);

    /**
     * <p>
     * 获得后台管理的权限树
     * </p>
     *
     * @param id     权限id
     * @param userid 用户id
     * @return {@link List}<Permission>
     */
    List<TPermission> getUserPersManageTree(String id, String userid);

    /**
     * <p>
     * 获取权限树，根据角色ID，默认勾选上角色已经拥有的权限
     * </p>
     *
     * @param id     权限节点id
     * @param roleid 角色ID
     * @return {@link List}<Permission>
     * @author 杨阳
     * @since 2017年9月13日
     */
    List<TPermission> roleAlreadyHavePermissions(String id, String roleid);

}
